Wireless communication systems use various modulation schemes to modulate signals. For example, a modulation symbol map may be used to generate a modulated signal based on a quadrature amplitude modulation (QAM) scheme such as one of QPSK, 16QAM, 64QAM . . . 1024QAM or higher order QAM schemes. The modulated signal is transmitted through a communication channel characterized by a channel matrix, and is affected by interfering signals. At a wireless receiver end, the modulated signal is detected using a modulation symbol demapper and a channel decoder. The modulation symbol demapper can estimate the constellation symbols of a constellation (e.g., a QAM constellation), from a noisy received signal. The demapper also computes a reliability measure for every bit in the bit streams. The symbol demapper can use a maximum likelihood (ML) or maximum a posteriori algorithm or an iterative ML (iML) algorithm to compute a log likelihood ratio (LLR) for each bit of the bit stream.
There are a number of ways to implement the iML demapper with various degrees of computational complexities. For example, in a brute force approach the computational complexity of the iML is of the order of N2*2*log(N), where N is the constellation order or size indicating a total number of constellation points of the employed modulation scheme (e.g., a QAM) for a two stream MIMO system. A better known solution for multiple-input multiple-output (MIMO) ML decoding (e.g., a none iterative decoding case) reduces the order of computational complexity to N*2*log(N), for a two stream MIMO detector. In this approach desired signal constellation (i.e. O(N) points) is scanned, and for each desired stream constellation point, a most likely interferer point is computed (e.g., by equalization and slicing) and LLR per bit for the desired stream is updated (e.g., O(log(N)). However, the solution requires sweeping for both streams (e.g., desired and interference), thus the overall complexity can be O(N*2*log(N)). A better yet known approach, is to reduce search for streams i=1 and i=2, by using spheres (e.g., sphere size <N). Because streams i=1 and i=2, have different signal-to-noise (SNR), the sphere sizes are also different. In particular, the stream having a low SNR would require a large sphere and would dominate the computational complexity, which is given by O((S1+S2)*log(N)), where without loss of generality, S1 and S2 are the sphere sizes for weak stream and strong stream, respectively, and S2<S1. An iML demapping approach with even lower complexity is desired.